bug: Fix edge cases in array_slice#14489
Merged
jonahgao merged 1 commit intoapache:mainfrom Feb 6, 2025
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit fixes the following edge cases in the array_slice function so that it's semantics match DuckDB:
When begin < 0 and -begin > length, begin is clamped to the beginning of the list.
When step < 0 and begin = end, then the result should be a list with the single element found at index begin/end.
Fixes
array_slicecan't correctly handle NULL parameters or some edge cases #10548Which issue does this PR close?
array_slicecan't correctly handle NULL parameters or some edge cases #10548.Are these changes tested?
Yes
Are there any user-facing changes?
Yes, the behavior of
array_slicehas changed.